perm filename PRIMES.LST[S1,ALS] blob sn#392599 filedate 1978-11-07 generic text, type T, neo UTF8
PASCAL COMPILATION LIST PRODUCED BY PASCAL VERSION FROM 30-DEC-76 ON 07-NOV-78  AT 14:12:56  

   10   COMMENT    VALID 00002 PAGES
   20   C REC  PAGE   DESCRIPTION
   30   C00001 00001
   40   C00002 00002    (*$L+*)
   50   C00004 ENDMK
   60   C;
   70   (*$L+*)
000140'     80   PROGRAM PRIMES(OUTPUT); (* MODIFIED COPY FROM WIRTH P 54* FOR THE PDP-10*)
000140'     90   CONST
000140'    100     WDLENGTH = 36;  MAXBIT = 35;  W = 100; (* TO FIND PRIMES BELOW 3600*)
000140'    110   VAR
000140'    120     SIEVE,PRIMES : ARRAY[0..W] OF SET OF 0..MAXBIT;
000764'    130     NEXT : RECORD WORD,BIT : INTEGER  END;
000766'    140     J,K,T,C : INTEGER;
000772'    150     EMPTY : BOOLEAN;
000773'    160   BEGIN
400000'    170   FOR T := 0 TO W DO BEGIN SIEVE[T] := [0..MAXBIT]; PRIMES[T] := [] END;
400036'    180   SIEVE[0] := SIEVE[0] - [0]; NEXT.WORD := 0; NEXT.BIT := 1;  EMPTY := FALSE;
400050'    190   WITH NEXT DO REPEAT
400050'    200     WHILE NOT (BIT IN SIEVE[WORD]) DO BIT := SUCC(BIT);
400072'    210     PRIMES[WORD] := PRIMES[WORD] + [BIT];
400120'    220     C := 2*BIT + 1; J := BIT;  K := WORD;
400130'    230     WHILE K<=W DO BEGIN
400133'    240       SIEVE[K] := SIEVE[K] - [J];  K := K + WORD*2;  J := J+C;
400172'    250       WHILE J>MAXBIT DO BEGIN  K :=K+1; J :=J - WDLENGTH END
400203'    260     END;
400205'    270     IF SIEVE[WORD] = [] THEN BEGIN EMPTY := TRUE; BIT := 0 END;
400225'    280     WHILE EMPTY AND (WORD<W) DO BEGIN
400233'    290       WORD := WORD + 1; EMPTY := SIEVE[WORD] = [] END
400255'    300     UNTIL EMPTY;
400260'    310   END.


400000'        POINT   7, 00000 (01),-1      POINT   7, 00000 (01), 6      POINT   7, 00000 (01),13      POINT   7, 00000 (01),20
400004'        POINT   7, 00000 (01),27      POINT   7, 00000 (01),34
400004'                                                                    HRRZI  02,  000000            MOVEM  02,  000767'     
400010'        CAILE  02,  000144            JRST   00,  400036'           MOVE   02,  000767'           CAIL   02,  000000      
400014'        CAILE  02,  000144            PUSHJ  17,  000000     E      IMULI  02,  000002            MOVE   05,  000000     C
400020'        MOVE   04,  000000     C      MOVEM  05,  000453'(02)       MOVEM  04,  000452'(02)       MOVE   02,  000767'     
400024'        CAIL   02,  000000            CAILE  02,  000144            PUSHJ  17,  400015'    E      IMULI  02,  000002      
400030'        MOVE   05,  000000     C      MOVE   04,  000000     C      MOVEM  05,  000141'(02)       MOVEM  04,  000140'(02) 
400034'        AOS    02,  000767'           JRST   00,  400010'           MOVE   03,  000453'           MOVE   02,  000452'     
400040'        ANDCM  03,  000000     C      ANDCM  02,  000000     C      MOVEM  03,  000453'           MOVEM  02,  000452'     
400044'        SETZM  00,  000765'           HRRZI  02,  000001            MOVEM  02,  000764'           SETZM  00,  000772'     
400050'        HRRZI  02,  000001            MOVE   03,  000765'           CAIL   03,  000000            CAILE  03,  000144      
400054'        PUSHJ  17,  400026'    E      IMULI  03,  000002            MOVE   05,  000764'           MOVE   04,  000453'(03) 
400060'        MOVE   03,  000452'(03)       LSHC   03,  000000 (05)       CAIL   03,  000000            SETZ   02,  000000      
400064'        ANDCAI 02,  000001            JUMPE  02,  400072'           MOVE   02,  000764'           AOJ    02,  000000      
400070'        MOVEM  02,  000764'           JRST   00,  400050'           MOVE   02,  000765'           CAIL   02,  000000      
400074'        CAILE  02,  000144            PUSHJ  17,  400054'    E      IMULI  02,  000002            MOVE   04,  000765'     
400100'        CAIL   04,  000000            CAILE  04,  000144            PUSHJ  17,  400075'    E      IMULI  04,  000002      
400104'        MOVE   10,  000764'           HRLZI  06,  400000            SETZ   07,  000000            CAIL   10,  000000      
400110'        CAILE  10,  000107            PUSHJ  17,  000000     E      MOVN   10,  000010            LSHC   06,  000000 (10) 
400114'        IOR    07,  000141'(04)       IOR    06,  000140'(04)       MOVEM  07,  000141'(02)       MOVEM  06,  000140'(02) 
400120'        HRRZI  02,  000002            IMUL   02,  000764'           ADDI   02,  000001            MOVEM  02,  000766'     
400124'        MOVE   02,  000764'           MOVEM  02,  000771'           MOVE   02,  000765'           MOVEM  02,  000770'     
400130'        MOVE   02,  000770'           CAILE  02,  000144            JRST   00,  400205'           MOVE   02,  000770'     
400134'        CAIL   02,  000000            CAILE  02,  000144            PUSHJ  17,  400102'    E      IMULI  02,  000002      
400140'        MOVE   04,  000770'           CAIL   04,  000000            CAILE  04,  000144            PUSHJ  17,  400136'    E
400144'        IMULI  04,  000002            MOVE   05,  000453'(04)       MOVE   04,  000452'(04)       MOVE   10,  000771'     
400150'        HRLZI  06,  400000            SETZ   07,  000000            CAIL   10,  000000            CAILE  10,  000107      
400154'        PUSHJ  17,  400111'    E      MOVN   10,  000010            LSHC   06,  000000 (10)       ANDCM  05,  000007      
400160'        ANDCM  04,  000006            MOVEM  05,  000453'(02)       MOVEM  04,  000452'(02)       MOVE   02,  000765'     
400164'        IMULI  02,  000002            ADD    02,  000770'           MOVEM  02,  000770'           MOVE   02,  000771'     
400170'        ADD    02,  000766'           MOVEM  02,  000771'           MOVE   02,  000771'           CAIG   02,  000043      
400174'        JRST   00,  400204'           MOVE   02,  000770'           ADDI   02,  000001            MOVEM  02,  000770'     
400200'        MOVE   02,  000771'           SUBI   02,  000044            MOVEM  02,  000771'           JRST   00,  400172'     
400204'        JRST   00,  400130'           MOVE   02,  000765'           CAIL   02,  000000            CAILE  02,  000144      
400210'        PUSHJ  17,  400143'    E      IMULI  02,  000002            MOVE   03,  000453'(02)       MOVE   02,  000452'(02) 
400214'        MOVE   05,  400030'    C      MOVE   04,  400031'    C      CAME   02,  000004            JRST   00,  400221'     
400220'        CAME   03,  000005            JRST   00,  400225'           HRRZI  02,  000001            MOVEM  02,  000772'     
400224'        SETZM  00,  000764'           HRRZI  02,  000001            MOVE   03,  000765'           CAIL   03,  000144      
400230'        SETZ   02,  000000            AND    02,  000772'           JUMPE  02,  400256'           MOVE   02,  000765'     
400234'        ADDI   02,  000001            MOVEM  02,  000765'           MOVE   02,  000765'           CAIL   02,  000000      
400240'        CAILE  02,  000144            PUSHJ  17,  400210'    E      IMULI  02,  000002            HRRZI  04,  000001      
400244'        MOVE   03,  000453'(02)       MOVE   02,  000452'(02)       MOVE   06,  400214'    C      MOVE   05,  400215'    C
400250'        CAME   02,  000005            JRST   00,  400253'           CAME   03,  000006            SETZ   04,  000000      
400254'        MOVEM  04,  000772'           JRST   00,  400225'           MOVE   02,  000772'           JUMPE  02,  400050'     
400260'        HRRZI  02,  000112'           PUSHJ  17,  000000     E      HRRZI  02,  000064'           PUSHJ  17,  400261'    E
400264'        HRRZI  02,  000036'           PUSHJ  17,  400263'    E      HRRZI  02,  000010'           PUSHJ  17,  400265'    E
400270'        JRST   00,  000000     E      JFCL   00,  000000            HLRZ   16,  000120            HRLI   16,  000000 (16) 
400274'        HRRI   17,  000001 (16)       HRRZ   01,  400271'           CAMG   01,  000044            JRST   00,  400302'     
400300'        CALLI  01,  000011            PUSHJ  17,  000000     E      MOVE   15,  000044            CAIG   15,  000040 (17) 
400304'        PUSHJ  17,  000000     E      HRLM   15,  000120            SUBI   15,  000001            HRLI   17,  400000      
400310'        CALLI  00,  000000            HRRZI  01,  000110            CALLI  01,  000016            HRRZI  04,  000000     C
400314'        HRRZI  02,  000036'           HRRZI  03,  000000     C      SETZ   05,  000000            PUSHJ  17,  000000     E
400320'        SETZ   03,  000000            SETZ   04,  000000            SETZ   05,  000000            SETZ   06,  000000      
400324'        HRRZI  02,  000112'           SKIPN  00,  000013 (02)       PUSHJ  17,  000000     E      HRRZM  16,  000143      
400330'        SKIPE  00,  000146            XCT    00,  000146            JRST   00,  400006'     
400330'                                                                                                  [          777777777777]
400334'        [          000000000000]      [          000000000000]      [          000000000000]      [          400000000000]
400340'        [          000000000000]      [               'PRIME']      [               'S    ']      [               'OUTPU']
400344'        [               'T    ']
000000'             000000 000000                 000000 000000                 000000 000000                 000000 000000    
000004'             000000 000000                 000000 000000                 000000 000000                 000000 000000    


LINK-CHAIN(S)   :   400020'400333'                400017'400334'                400247'400335'                400246'400336'   
                    400041'400337'                400040'400340'                400313'400341'                400315'400343'   

000110'                                                                         000000 000137'                000000 000000    
000114'             000000 000000                 050140 000123'                076140 000126'                077140 000126'   
000120'             056140 000000                 057140 000000                 070140 000000                 000000 000000    
000124'             646471 000000                 000000 000000                 646471 576564                 606564 000000    
000130'             000000 000000                 000000 000000                 000000 000000                 000000 000000    
000134'             000000 000000                 000000 000000                 777777 000137'                000000 000000    

000064'             000000 000111'                000000 000000                 000000 000000                 050100 000075'   
000070'             076100 000100'                077100 000100'                056100 000000                 057100 000000    
000074'             070100 000000                 000000 000000                 646471 000000                 000000 000000    
000100'             646471 000000                 000000 000000                 000000 000000                 000000 000000    
000104'             000000 000000                 000000 000000                 000000 000000                 000000 000000    
000110'             777777 000111'                000000 000000    
000034'                                                                         000000 000063'                000000 000000    
000040'             000000 000000                 050040 000047'                076040 000052'                077040 000052'   
000044'             056040 000000                 057040 000000                 070040 000000                 000000 000000    
000050'             446353 000000                 000000 000000                 576564 606564                 000000 000000    
000054'             000000 000000                 000000 000000                 000000 000000                 000000 000000    
000060'             000000 000000                 000000 000000                 777777 000063'                000000 000000    

000010'             000000 000035'                000000 000000                 000000 000000                 050000 000021'   
000014'             076000 000024'                077000 000024'                056000 000000                 057000 000000    
000020'             070000 000000                 000000 000000                 446353 000000                 000000 000000    
000024'             515660 656400                 000000 000000                 000000 000000                 000000 000000    
000030'             000000 000000                 000000 000000                 000000 000000                 000000 000000    
000034'             777777 000035'                000000 000000    


ENTRY-POINT(S)  :   PRIMES                               400271'   

ENTRY-SYMBOL(S) :   TTYOUT                               000112'                TTY                                  000064'   
                    OUTPUT                               000036'                INPUT                                000010'   

EXTERN-SYMBOL(S):   CORERR                               400304'                INXERR                               400241'   
                    SETERR                               400154'                NOCORE                               400301'   
                    END                                  400270'                GETPAR                               400317'   
                    REWRIT                               400326'                CLSFIL                               400267'   
                    OVERF.                               000125    


LINK-LIBRARIE(S):   PASLIB                        000000 000000                 SYS              


START-ADDRESS   :          400271'   


HIGHSEG-BREAK   :          400345'   

LOWSEG-BREAK    :          000773'   
                 

   0 ERROR(S) DETECTED

HIGHSEG:   0K +  229 WORD(S)
LOWSEG :   0K +  507 WORD(S)

RUNTIME:   0: 0.297